跳到主要内容

数据的备份

mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql

mysqldump -uroot -p --databases

## 简单的数据备份(单表备份)

### 备份,select into outfile‘’

通过 select 语句将查询到的数据,以文本文件的形式,存储起来!

select into file

select 字段列表into outfile文件地址 from 表名 where 其他的select子句!

此时,相当于,将原本应该显示在命客户端的数据,写入到文件中!

对目标文件的要求,是目标文件不能存在!而且目标文件只要是普通的文本文件即可!

此时,对数据的生成格式,存在可以被设置的:

默认的字段之间的分隔符,使用制表符,而记录之间的分隔符,使用换行符!

但是,在数据存储时是可以被设置的:

### 还原load data infile‘’ into table table\_name

Load data infile filename into table\_name;

## 数据的导出工具,mysqldump

mysqldump,不是一个sql语句!

类似于mysql的一个mysql所带的一个工具!

应该在命令行下直接执行,而不是在mysql登陆之后!

### 备份一个库

可以省略–B作为选项,表示不创建库,只备份库内的所有的表!

注意,上面\>的语法,指的是输出重定向!

### 备份表

与备份库相比,多出了一个表名的值:

库名表名

可以一次备份多个表:

在表名部分写表名列表:

典型的备份都是:指的是将整个库或者整个表备份即可!

## 直接复制完成备份,额外的办法

有时,在备份数据时,甚至可以直接选择将data目录,或者data目录中的相应子目录直接复制!

该行为不是每次都生效!

复制文件的方案,典型的是针对myisam格式的表发生的作用!

## 还原,执行外部文件内sql语句

可以在mysql客户单登陆后,使用source 指令,来强制执行一个文件内的sql语句!

如果没有登陆可以选择采下面的形式:

mysql -h127.0.0.1 -P3306 -uroot -p 库名

登陆后直接选择数据库

mysql -h127.0.0.1 -P3306 -uroot -p 库名\< e:/itcast\_student\_class.sql

表示,登陆后,选择数据库,并执行sql文件内的语句。

注意\< ,称之输入重定向!

![](595F64824F615000B54287DE2316F60B.png)

上一篇: 24 触发器,trigger